﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Projeto.Classes.Conexao;
using Projeto.Classes.Objeto;

namespace Projeto.Formularios
{
    public partial class frmRegistroProduto : Form
    {
        public frmRegistroProduto()
        {
            InitializeComponent();
        }
        private bool IsUpdate = false;
        private Classes.Objeto.Produto prod =new Classes.Objeto.Produto();

        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            //objeto de conexão. Variável utilizada para se conectar ao banco, executar a inserção do valor na tabela
            //retornar o possivel resultado da operação
            Classes.Conexao.Produto con = new Classes.Conexao.Produto();
            
            if (IsUpdate)
            {
                prod.ds_produto = txtDescricao.Text;
                if (con.UpdateProduto(prod))
                {
                    MessageBox.Show("Alteração efetuada com sucesso.");
                }
                else 
                {
                    MessageBox.Show("Erro. Contacte o suporte.");
                }
                this.Close();
            }
            else 
            {
                //executar método de inserir valor. Criando uma variavel do tipo Classes.Objeto.Produto 
                //que possui um valor dentro de si que é a propriedade text do textbox. Essa variável é 
                //passada para o método InsertProduto que vai executar a operação de inserção na tabela Produto.
                if (con.InsertProduto(new Classes.Objeto.Produto(txtDescricao.Text)))
                {
                    MessageBox.Show("Registro efetuado com sucesso.");
                }
                else
                {
                    MessageBox.Show("Erro. Contacte o suporte.");
                }
                txtDescricao.Clear();
                txtDescricao.Focus();
            }
           
        }

        public void loadUpdate(int id, string descr) 
        {
            this.IsUpdate = true;
            this.prod.id_produto = id;
            this.prod.ds_produto = descr;
            this.txtDescricao.Text = descr;
        }

        private void frmRegistroProduto_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (IsUpdate) 
            {
                IsUpdate = false;
                frmBuscaProduto frmBProd = new frmBuscaProduto();
                frmBProd.searchProduto();
                frmBProd.Show();
            }
        }
    }
}
